15. 练习:处理错误
练习:处理除以零的情形
现在运行下面的代码将在第二次调用
handle_zero
函数时导致错误,因为它遇到了 ZeroDivisionError 异常。
请修改下面的函数以处理该异常。如果在函数的第一行遇到该异常,应该输出警告消息并返回空列表。否则,应该运行函数的剩余代码。最后,该函数应该始终输出返回了多少组。
def create_groups(items, num_groups):
size = len(items) // num_groups
groups = []
for i in range(0, len(items), size):
groups.append(items[i:i + size])
print("{} groups returned.".format(num_groups))
return groups
print("Creating 6 groups...")
for group in create_groups(range(32), 6):
print(list(group))
print("\nCreating 0 groups...")
for group in create_groups(range(32), 0):
print(list(group))
修改上面的脚本以处理除以零错误。正确修改的话,应该会输出:
Creating 6 groups...
6 groups returned.
[0, 1, 2, 3, 4]
[5, 6, 7, 8, 9]
[10, 11, 12, 13, 14]
[15, 16, 17, 18, 19]
[20, 21, 22, 23, 24]
[25, 26, 27, 28, 29]
[30, 31]
Creating 0 groups...
WARNING: Returning empty list. Please use a nonzero number.
0 groups returned.